home *** CD-ROM | disk | FTP | other *** search
-
-
-
- LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF)))) LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- conv, libconv, convolution, correlation - Convolution and Correlation
- Library
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- LIBCONV is an optimized library available on Silicon Graphics computers.
- It features Convolution for Finite Impulse Response (FIR) and Infinite
- Impulse Response (IIR) filters, together with Correlations. The library
- modules take 1D and 2D inputs, and are available in single and double
- precision for real and complex arithmetic. The 2D subprograms have been
- parallelized and take fully advantage of SGI parallel architecture.
-
- The two main goals of the Convolution and Correlation library are
- performance and generality. It provides well tuned modules usable in most
- convolution and correlation instances.
-
- To achieve maximum flexibility, 1D sequence are defined by 3 parameters,
- while 6 parameters are necessary for 2D inputs. One drawback of this
- versatility may come from the (very) long calling sequences (up to 23
- parameters for sfir2d). To help the user, systematic conventions were
- used for modules names, calling parameters and sequence definition.
-
-
- CCCC iiiinnnntttteeeerrrrffffaaaacccceeee
- For the C interface two types "complex" and "zomplex" have been defined
- as structures of two floating point variables ( re, im ). They are
- equivalent to the "complex" and "double complex" Fortran types.
-
- typedef struct {
- float re;
- float im; } complex;
-
- typedef struct {
- double re;
- double im; } zomplex;
-
- These types as well as the prototypes of the different functions for
- convolution and correlations are defined in the "/usr/include/conv.h"
- header file.
-
-
-
- NNNNAAAAMMMMIIIINNNNGGGG CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNNSSSS
- The name of each Convolution and Correlation routine is a coded
- specification of its function (6 or 7-character names).
-
- All driver and computational routines have names of the form XYYYMND
-
- The first letter, X, indicates the data type as follows:
-
- S REAL
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF)))) LLLLIIIIBBBBCCCCOOOONNNNVVVV((((3333FFFF))))
-
-
-
- D DOUBLE PRECISION
- C COMPLEX
- Z COMPLEX*16 or DOUBLE COMPLEX
-
- The next three letters, YYY, indicate the type of computation performed.
- For example, ffffiiiirrrr for FIR convolution, iiiiiiiirrrr for IIR filtering, and ccccoooorrrr for
- Correlation.
-
- The next two letters, MN, are the dimension. MN can be a 1 or 2
- character string: 1111 or 2222 for 1D and 2D modules, and MMMM1111 for "multiple 1D"
- subprograms.
-
-
- SSSSUUUUMMMMMMMMAAAARRRRYYYY
- ------------------------------------------------------------------
- | | | |
- | | 1 Dimension | 2 Dimensions |
- ------------------------------------------------------------------
- | | FIR | IIR | Corre- | FIR | IIR | Corre- |
- | | filter | filter | lation | filter | filter | lation |
- ------------------------------------------------------------------
- | | | | | | | |
- | Real | sfir1d | siir1d | scor1d | sfir2d | siir2d | scor2d |
- | Single | | | | sfirm1d | siirm1d| scorm1d|
- | | | | | | | |
- | Real | dfir1d | diir1d | dcor1d | dfir2d | diir2d | dcor2d |
- | Double | | | | dfirm1d | diirm1d| dcorm1d|
- | | | | | | | |
- | Complex | cfir1d | ciir1d | ccor1d | cfir2d | ciir2d | ccor2d |
- | Double | | | | cfirm1d | ciirm1d| ccorm1d|
- | | | | | | | |
- | Complex | zfir1d | ziir1d | zcor1d | zfir2d | ziir2d | zcor2d |
- | Double | | zcfirm1d| ziirm1d| zcorm1d|
- ------------------------------------------------------------------
-
- For example:
-
- sfir1d applies a FIR filter to single precision real 1D signals,
-
- diir1d performs a IIR filtering on double precision 1D data,
-
- cfirm1d applies a 1D FIR filter for each column of a 2D single
- complex array, and
-
- zcor2d computes the correlation of 2D double complex sequences.
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-